package LeetCode;


//实现一种算法，找出单向链表中倒数第 k 个节点。返回该节点的值。
//
//注意：本题相对原题稍作改动
public class TesrInterview02_02 {
    public int kthToLast(ListNode head, int k) {
        //定义一个快指针fast先走k步
        ListNode fast = head;
        for (int i = 0; i < k; i++) {
            fast = fast.next;
        }
        //再定义一个慢指针low
        //此时low和fast相距k
        ListNode low = head;
        //在fast走完k步后low和fast同时移入下一节点
        //当fast走向空节点时，low刚好走到倒数第k个节点
        while (fast != null) {
            fast = fast.next;
            low = low.next;
        }
        return low.val;
    }
}
